<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd">
<html>
<head>
<meta name="GENERATOR" content="PasDoc 0.11.0">
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
<title>Crispy Plotter Documentation: Instruction: Class TInstruction</title>
<link rel="StyleSheet" type="text/css" href="pasdoc.css">
</head>
<body bgcolor="#ffffff" text="#000000" link="#0000ff" vlink="#800080" alink="#FF0000">
<a name="TInstruction"></a><h1 class="cio">Class TInstruction</h1>
<table class="sections wide_list">
<tr>
<td><a class="section"  href="#%40Description">Description</a></td><td><a class="section"  href="#%40Hierarchy">Hierarchy</a></td><td><a class="section"  href="#%40Fields">Fields</a></td><td><a class="section"  href="#%40Methods">Methods</a></td><td>Properties</td></tr></table>
<a name="%40Description"></a><h2 class="unit">Unit</h2>
<p class="unitlink">
<a   href="Instruction.html">Instruction</a></p>
<h2 class="declaration">Declaration</h2>
<p class="declaration">
<code>type TInstruction = class(TObject)</code></p>
<h2 class="description">Description</h2>
<p>
The abstract class TInstruction represents an abstract part of an expression. It consists of an operand (implemented in its 5 descendant classes), the sign of this operand and its preceding operator. Its descendants are:

<p></p>

<pre class="preformatted">
    -	TConstant (operand is a constant number e.g. 4 or 3.4e-3)
    -	TFuncRef (operand is a call to a predefined function e.g. sin(4) )
    -	TVarRef (operand is a variable e.g. x or pi)
    -	TBraceRef (operand is a brace e.g. (3+2) or ((5+2)*3) )
    -	TInvisBraceRef (same as TBraceRef, but its braces are not displayed)</pre>

<p>

<p>Instances of the 5 classes mentioned above, can be lined up to form a simple expression e.g. &quot;3+5&circ;-sin(x)+x&quot;. This is done by the class <a class="normal"  href="InstructionList.TInstructionList.html">InstructionList.TInstructionList</a>.     </p>
<h6 class="description_section">See also</h6>
<dl class="see_also">
  <dt><a class="normal"  href="Instruction.TConstant.html">TConstant</a></dt>
  <dd>This class represents a constant number (e.g.</dd>
  <dt><a class="normal"  href="Instruction.TFuncRef.html">TFuncRef</a></dt>
  <dd>This class represents a call to a predefined function as operand</dd>
  <dt><a class="normal"  href="Instruction.TVarRef.html">TVarRef</a></dt>
  <dd>This class represents a variable (e.g.</dd>
  <dt><a class="normal"  href="Instruction.TBraceRef.html">TBraceRef</a></dt>
  <dd>This class represents a braced expression as operand</dd>
  <dt><a class="normal"  href="Instruction.TInvisBraceRef.html">TInvisBraceRef</a></dt>
  <dd>This class is almost identical to <a class="normal"  href="Instruction.TBraceRef.html">TBraceRef</a>, but it is only used by <a class="normal"  href="InstructionList.TInstructionList.html#OpSort">InstructionList.TInstructionList.OpSort</a> to control the operator precedence.</dd>
</dl>
<a name="%40Hierarchy"></a><h2 class="hierarchy">Hierarchy</h2>
<ul class="hierarchy"><li class="ancestor">TObject</li>
<li class="thisitem">TInstruction</li></ul><h2 class="overview">Overview</h2>
<a name="%40Fields"></a><h3 class="summary">Fields</h3>
<table class="summary wide_list">
<tr class="list">
<td class="visibility"><a   href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><code><b><a   href="Instruction.TInstruction.html#IList">IList</a></b>: Pointer;</code></td>
</tr>
<tr class="list2">
<td class="visibility"><a   href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><code><b><a   href="Instruction.TInstruction.html#Op">Op</a></b>: <a   href="ParseConst.html#TOperatorType">TOperatorType</a>;</code></td>
</tr>
<tr class="list">
<td class="visibility"><a   href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><code><b><a   href="Instruction.TInstruction.html#NegSign">NegSign</a></b>: Boolean;</code></td>
</tr>
</table>
<a name="%40Methods"></a><h3 class="summary">Methods</h3>
<table class="summary wide_list">
<tr class="list">
<td class="visibility"><a   href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><code>Constructor <b><a   href="Instruction.TInstruction.html#Create">Create</a></b>(pIList: Pointer);</code></td>
</tr>
<tr class="list2">
<td class="visibility"><a   href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><code>Destructor <b><a   href="Instruction.TInstruction.html#Destroy">Destroy</a></b>; Override;</code></td>
</tr>
<tr class="list">
<td class="visibility"><a   href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><code>Function <b><a   href="Instruction.TInstruction.html#GetValue">GetValue</a></b>: <a   href="ResConst.html#TFloat">TFloat</a>; Virtual; Abstract;</code></td>
</tr>
<tr class="list2">
<td class="visibility"><a   href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><code>Function <b><a   href="Instruction.TInstruction.html#ToString">ToString</a></b>: String; Virtual; Abstract;</code></td>
</tr>
<tr class="list">
<td class="visibility"><a   href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><code>Procedure <b><a   href="Instruction.TInstruction.html#OpSort">OpSort</a></b>; Virtual; Abstract;</code></td>
</tr>
</table>
<h2 class="description">Description</h2>
<h3 class="detail">Fields</h3>
<table class="detail wide_list">
<tr class="list">
<td class="visibility"><a   href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><a name="IList"></a><code><b>IList</b>: Pointer;</code></td>
</tr>
<tr><td colspan="2">
<p>
Parent Instruction List</p>
</td></tr>
</table>
<table class="detail wide_list">
<tr class="list">
<td class="visibility"><a   href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><a name="Op"></a><code><b>Op</b>: <a   href="ParseConst.html#TOperatorType">TOperatorType</a>;</code></td>
</tr>
<tr><td colspan="2">
<p>
Preceding operator</p>
</td></tr>
</table>
<table class="detail wide_list">
<tr class="list">
<td class="visibility"><a   href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><a name="NegSign"></a><code><b>NegSign</b>: Boolean;</code></td>
</tr>
<tr><td colspan="2">
<p>
Sign (negative sign when true)</p>
</td></tr>
</table>
<h3 class="detail">Methods</h3>
<table class="detail wide_list">
<tr class="list">
<td class="visibility"><a   href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><a name="Create"></a><code>Constructor <b>Create</b>(pIList: Pointer);</code></td>
</tr>
<tr><td colspan="2">
&nbsp;</td></tr>
</table>
<table class="detail wide_list">
<tr class="list">
<td class="visibility"><a   href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><a name="Destroy"></a><code>Destructor <b>Destroy</b>; Override;</code></td>
</tr>
<tr><td colspan="2">
&nbsp;</td></tr>
</table>
<table class="detail wide_list">
<tr class="list">
<td class="visibility"><a   href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><a name="GetValue"></a><code>Function <b>GetValue</b>: <a   href="ResConst.html#TFloat">TFloat</a>; Virtual; Abstract;</code></td>
</tr>
<tr><td colspan="2">
<p>
Evaluates the single instruction and returns its number value</p>
</td></tr>
</table>
<table class="detail wide_list">
<tr class="list">
<td class="visibility"><a   href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><a name="ToString"></a><code>Function <b>ToString</b>: String; Virtual; Abstract;</code></td>
</tr>
<tr><td colspan="2">
<p>
Converts instruction to string</p>
</td></tr>
</table>
<table class="detail wide_list">
<tr class="list">
<td class="visibility"><a   href="legend.html"><img  src="public.gif" alt="Public" title="Public"></a></td>
<td class="itemcode"><a name="OpSort"></a><code>Procedure <b>OpSort</b>; Virtual; Abstract;</code></td>
</tr>
<tr><td colspan="2">
<p>
Sorts owner I-Lists by operator priority</p>
</td></tr>
</table>
<hr noshade size="1"><span class="appinfo"><em>Generated by <a  target="_parent" href="http://pasdoc.sourceforge.net/">PasDoc 0.11.0</a> on 2009-07-25 15:33:04</em>
</span>
</body></html>
